FIG. 1 shows an exemplary network architecture for UMTS (Universal Mobile Telecommunications System). The UMTS system is generally comprised of mobile terminals (user equipment: UE), a UTRAN (UMTS Terrestrial Radio Access Network), and a core network (CN). The UTRAN has one or more radio network sub-systems (RNS), with each RNS having a radio network controller (RNC) and one or more base stations (Node Bs). For each Node B, one or more cells exist.
FIG. 2 shows an exemplary radio protocol architecture used in UMTS. These radio protocol layers exist in the UE and UTRAN in pairs, and handles data transmissions over the radio interface. With respect to each radio protocol layer, the PHY layer (Layer 1) serves the purpose of transmitting data over the radio interface by using various radio transmission techniques. The PHY layer is connected with a MAC layer (a higher level layer) via transport channels in order to support reliable data transmissions, and the transport channel can be divided into dedicated transport channels and common transport channels according to whether or not the channels are shared.
In Layer 2, the MAC, RLC, PDCP and BMC layers exist. The MAC layer performs mapping of various logical channels to various transport channels, and also performs logical channel multiplexing for mapping multiple logical channels to a single transport channel. The MAC layer is connected with the RLC layer (a higher level layer) via logical channels, and the logical channels are divided into control channels for transmitting control plane information and traffic channels for transmitting user plane information, according to the type of data being transmitted. The MAC layer can be further divided into a MAC-b sub-layer, a MAC-d sub-layer, a MACc/sh sub-layer, a MAC-hs sub-layer, and a MAC-e sub-layer according to the types of transport channels being managed. The MAC-b sub-layer handles the management of a BCH (Broadcast Channel), which is a transport channel for handling the broadcast of system information. The MAC-c/sh sub-layer manages common transport channels such as a FACH (Forward Access Channel), a DSCH (Downlink Shared Channel), and the like that are shared by various mobile terminals. The MAC-d sub-layer handles the management of a DCH (Dedicated Channel) that is a dedicated transport channel for a particular mobile terminal. The MAC-hs sub-layer manages a HS-DSCH (High Speed Downlink Shared Channel), which is a transport channel for high speed downlink data transmission. The MAC-e sub-layer manages a E-DCH (Enhanced Dedicated Channel), which is a transport channel for high speed uplink data transmission.
The RLC layer guarantees the quality of service (QoS) of each radio bearer (RB) and handles the transmission of data thereof. To guarantee the QoS that is unique to an RB, the RLC layer has one or two independent RLC entities for each RB, and provides three types of RLC modes, namely, TM (Transparent Mode), UM (Unacknowledged Mode), and AM (Acknowledged Mode) in order to support various QoS. Also, the RLC layer performs the function of adjusting the size of data to be appropriate for a lower level layer to transmit data over the radio interface. To do so, a function of segmentation and concatenation of data received from a higher level layer is performed.
The PDCP layer is located at a higher level from the RLC layer, and employs IP (Internet Protocol) packet formats (such as IPv4 or IPv6) to allow efficient data transmission over the radio interface having a relatively small bandwidth. To do so, the PDCP layer performs the function of header compression, which allows transmission of only necessary information in the header portion of the data, to thus increase the transmission efficiency of the radio interface. As header compression is the basic function, the PDCP layer only exists in the PS domain, and in order to provide effective header compression with respect to each PS service, one PDCP entity exists for each RB.
Additionally, in Layer 2, a BMC (Broadcast/Multicast Control) layer exists at a higher level from the RLC layer, and performs scheduling of cell broadcast messages and performs the function of broadcasting to mobile terminals located in a particular cell. The RRC (Radio Resource Control) layer located at the lowermost portion of Layer 3, is only defined in the control plane, controls the parameters of Layer 1 and Layer 2 that are related to the setup, reconfiguration, and release of RBs, and also handles the control of logical channels, transport channels, and physical channels. Here, the RB refers to a logical path that is provided by Layer 1 and Layer 2 of the radio protocol for data transfer between the mobile terminal and the UTRAN. In general, the setup of an RB refers to the process of stipulating the characteristics of a protocol layer and a channel required for providing a specific service, and setting the respective detailed parameters and operation methods.
The RLC layer that is related to the present invention will be considered in more detail.
A basic function of the RLC layer is to guarantee the QoS of each RB and to transmit data thereof. As the RB service is a service that the Layer 2 of the radio protocol provides to a higher level, the entire Layer 2 effects the QoS, and in particular, the effect of the RLC layer is significant. To guarantee the QoS that is unique to the RB, the RLC layer has independent RLC entities for each RB, and provides three types of RLC modes (TM, UM, AM) for supporting various QoS. These three modes of the RLC layer have differences in their operation methods because the QoS that they respectively support are different, and their detailed functions also have differences. As such, the RLC layer should be considered in more detail with respect to their operation modes.
The TM RLC is a mode in which no overhead is attached to the RLC SDU received from a higher level when forming (constituting) a RLC PDU. Namely, the name TM RLC refers to the fact that the RLC passes the SDUs in a transparent manner, and the following functions are performed in the user plane and the control plane. In the user plane, because the data processing time is short, transmission of real-time circuit data, such as voice or streaming of the circuit service (CS) domain, are handled. In the control plane, because there is no overhead within the RLC, in case of the uplink, transmission of RRC messages from unspecified mobile terminals are handled, while for the downlink, transmission of RRC messages that are broadcast to all mobile terminals within a cell are handled.
Unlike the transparent mode (TM), the mode in which overhead is added by the RLC is called a non-transparent mode, which comprises two types of modes; unacknowledged mode (UM) that provides no response that acknowledges receipt of transmitted data (UM), and acknowledged mode (AM) that provides a response. The UM RLC transmits each PDU upon adding thereto a PDU header that includes a sequence number (SN), to thus allow the receiving side to know which PDUs were lost (or missing) during transmission. Due to such function, the UM RLC handles the transmission of broadcast/multicast data in the user plane or the transmission of real-time packet data, such as voice (e.g., VoIP) or streaming of the packet service (PS) domain, and in the control plane, the transmission of RRC messages that do not need a reception acknowledgement response among the RRC messages transmitted to a particular terminal or particular terminal group.
As a type of non-transparent mode, the AM RLC forms a PDU by adding a PDU header that includes a SN (as done in the UM RLC), but unlike the UM RLC and the significant difference therefrom is that the receiving side provides an acknowledgement for a PDU transmitted from the transmitting side. In AM RLC, the reason why the receiving side provides acknowledgement is to request the transmitting side to re-transmit those PDUs that could not be received. Such re-transmission function is one of the most significant characteristics of the AM RLC. As a result, the purpose of the AM RLC is to guarantee error-free data transmissions through the re-transmitting function. Due to this purpose, the AM RLC, in the user plane, usually handles non-real-time packet data transmissions (such as TCP/IP of the PS domain), and in the control plane, handles the transmission of RRC messages that always requires reception acknowledgement response among the RRC messages transmitted to a particular terminal within a cell.
With respect to directions, the TM RLC and UM RLC are used in uni-directional communications, while AM RLC is used in bi-directional communications because there is feedback from the receiving side. As bi-directional communications are generally used for point-to-point communications, the AM RLC uses only a dedicated logical channel. There are also differences in structure, whereby for TM RLC and UM RLC, a single RLC entity has one type of structure for either a transmitter or receiver, but for AM RLC, a single RLC entity has both a transmitter and a receiver.
The AM RLC is complicated because of its re-transmission function. For managing re-transmission functions, the AM RLC has a re-transmission buffer in addition to a transmission/reception buffer, employs a transmission/reception window for flow control, performs a polling function whereby the transmitter requests status information from the peer RLC of the receiver, employs a status report sent by a receiver to report its buffer state to a peer RLC of the transmitter, employs a status PDU to carry the status information, performs a piggyback function that inserts a status PDU into a data PDU in order to increase data transmission efficiency, and also performs many other functions. In addition, if the AM RLC entity discovers a significant error during its operation process, a Reset PDU is employed to request the peer AM RLC entity to re-set all operations and parameters, and a Reset Ack PDU is used for responding to such Reset PDU. Also, to support such functions, the AM RLC requires various protocol parameters, state variables, timer, and the like. The PDUs used for data transmission control in the AM RLC, such as a status report or status PDU, Reset PDU, etc. are called Control PDUs, while the PDUs used for transferring user data are called Data PDUs.
To summarize, the PDUs used in AM RLC are divided into two types; Data PDUs and Control PDUs. There are four types of Control PDUs, namely, a Status PDU, a Piggybacked Status PDU, a Reset PDU, and a Reset Ack PDU.
A Reset Procedure is one situation where a Control PDU is employed. The Reset Procedure is used to solve problems when there is an erroneous situation in the operation of the AM RLC, such as when the sequence numbers being respectively used are different, when a certain number of transmission failures for a PDU or SDU occur, and the like. Upon using the Reset Procedure, the AM RLC of the receiver and of the transmitter initialize the state variables such that a state where communication can be performed again is achieved. The Reset Procedure is as follows. First, the side that determined to start the Reset Procedure, namely the AM RLC of the transmitter includes the transmission direction HFN (Hyper Frame Number) that it currently uses into the Reset PDU and transmits such to the receiver. Then, upon receiving such Reset PDU, the AM RLC of the receiver resets its reception direction HFN value and also initializes the sequence numbers and other various state variables. Also, the receiver AM RLC transmits a Reset Ack PDU that includes its transmission direction HFN value to the transmitter AM RLC, and upon receiving this Reset Ack PDU, the transmitter AM RLC initializes various state variables after resetting its reception direction HFN value.
FIG. 3 shows an exemplary structure of an RLC PDU used in an AM RLC entity. Here, the structure of an AMD PDU, which is a Data PDU used when transmitting data.
The AMD PDU is used when the AM RLC entity is to transmit user data or to transmit piggybacked status information and a polling bit. The user data portion comprises 8 bit integer multiples, and the AMD PDU header comprises a sequence number having a size of 2 octets. Also, the header portion of the AMD PDU includes a length indicator.
FIG. 4 shows an exemplary structure of a Status PDU. The Status PDU is comprised of different types of super fields (SUFI). The Status PDU may have a variable size, but is limited to the size of the largest RLC PDU of the logical channel on which the Status PDU is transmitted. Here, the SUFI serves the purpose of providing certain information, such as indicating which AMD PDUs arrived at the receiver or which AMD PDUs have not arrived. The SUFI may be comprised of three parts; type, length and value.
FIG. 5 shows an exemplary structure of a Piggybacked Status PDU. The structure of the Piggybacked Status PDU is similar to that of the AMD PDU, but the D/C field of the AMD PDU is replaced with a reserved bit (R2). The Piggybacked Status PDU is inserted if there is sufficient space remaining in the AMD PDU. The PDU type value is always fixed to be 000. Ultimately, a Control PDU includes both a Status PDU and a Piggybacked Status PDU.
FIG. 6 shows an exemplary structure of a Reset/Reset Ack PDU. The Reset PDU includes a 1 bit sequence number called an RSN. The Reset Ack PDU is transmitted in response to the received Reset PDU, and the RSN of the received Reset PDU is included when transmitting.
The following parameters are used in the Reset/Reset Ack PDU format.
(1) D/C field: indicates whether the PDU is a Control PDU or Data PDU
(2) PDU Type: indicates the type of Control PDU, namely, whether the PDU is a Reset PDU, Status PDU, etc.
(3) Sequence Number: refers to sequence number information of the AMD PDU.
(4) Polling Bit: set when requesting a Status Report from the receiver.
(5) Extension bit (E): indicates whether or not the next octet is a length indicator.
(6) Reserved bit (R1): if used in a Reset PDU or a Reset Ack PDU, coded as 000.
(7) Header extension (HE): indicates whether the next octet is a length indicator or data.
(8) Length indicator: indicates the location of a boundary, if such boundary exists between respectively different SDUs within the data portion of a PDU.
(9) PAD: indicates a padding region, but not used in the AMD PDU.
The Reset procedure for the AM RLC entity will be explained below.
First, when a situation where a Reset procedure needs to be performed occurs, the receiver must send a Reset PDU to the transmitter. The Reset procedures is performed if a Status PDU containing an erroneous sequence number is received or if a particular PDU transmission has failed a certain number of times. When a Reset PDU is transmitted, the transmitter performs the following operations.
1. Transmission of the AMD PDU and Status PDU is stopped.
2. The received AMD RLC PDU, the Status PDU, and the Piggybacked Status PDU are ignored.
3. The VR(RST) is incremented by 1.
4. If VR(RST) is greater than MaxRST, this is informed to the RRC, if VR(RST) is less than MaxRST, the Reset PDU is transmitted to the receiver.
Here, the VR(RST) is initialized by using internal parameters of the receiver each time the reset procedure is performed. This value is the maximum value of transmitting the Reset PDU for each reset procedure. Namely, if the Reset PDU transmission exceeds the MaxRST value, the reset procedure is immediately terminated and the higher level is informed that an unsolvable error has occurred.
When the transmitter transmits the Reset PDU, a HFNI value and a RSN value are included in the transmission. Here, the transmitter sets the HFNI as the maximum HFN value that it uses. The HFN is a values used in encoding (encryption) and the transmitter uses the HFN value to encode the portions of the AMD PDU excluding the SN value of thereof. The receiver uses the same HFN value to decode the received AMD PDU. If the receiver and the transmitter do not have the same HFN value, communication therebetween cannot be maintained. Accordingly, in the reset procedure, the transmitter and receiver exchange their HFN values such that both the transmitter and receiver are set to have the same HFN value. Thus, the transmitter and the receiver include their HFN value in the Reset PDU or the Reset Ack PDU when transmitting.
The RSN value is used for matching each of the Reset PDUs and the Reset Ack PDUs. Namely, if the transmitter sent a Reset PDU with the RSN value set to 1, the receiver recognizes only the Reset Ack PDU having the RSN set to 1 as its desired Reset Ack PDU. If a Reset Ack PDU with a RSN value set to a value other than 1 is received, such Reset Ack PDU is deems as erroneous and is thus discarded. Also, for each reset procedure that begins, the RSN value is increased by one.
When the Reset Ack PDU is transmitted in response to the Reset PDU, the receiver sends the largest value HFN that is used in its transmission direction by filling it into the HFNI, and also, the same RSN value as that included in the corresponding Reset PDU is included in the Reset Ack PDU and transmitted.
Upon receiving the Reset PDU, the receiver performs the following operations.
1. The transmitter compares whether the RSN value used in the reset procedure that was last performed with the RSN value included in the currently received Reset PDU are the same or not. Then, step 2 is performed.
2. If the RSN values are the same in step 1, the receiver again transmits a Reset Ack PDU using the same value as that for previously transmitting the Reset Ack PDU. Then, step 3 is performed.
3. If the currently received Reset PDU is the first Reset PDU received after the RLC entity was established or re-established, or if the RSN values is different than that of the most recently received Reset PDU, then the following steps are sequentially performed; otherwise the process is terminated.
4. A Reset Ack PDU is newly formed and transmitted.
5. The state variables are initialized and the currently operating Timer is stopped.
6. The received RLC PDUs are discarded.
7. The RLC PDUs transmitted before the Reset are discarded.
8. The HFN of the receiver direction is set according to that in the received Reset PDU.
9. The HFN of the transmitter direction and of the receiver direction are increased by 1.
After the transmitter transmits the Reset PDU, a Reset Ack PDU is waited to be received, and when the Reset Ack PDU is received, the following operations are performed by the transmitter.
1. If the RSN value included in the Reset Ack PDU is the same as the RSN value included in the Reset PDU that it transmitted, the following steps are performed; otherwise, the Reset Ack PDU is discarded.
2. The HFN of the receiver direction is reset by using the HFNI value included in the received Reset Ack PDU.
3. The state variables are initialized and the currently operating Timer is stopped.
4. The received RLC PDUs are discarded.
5. The RLC PDUs transmitted before the Reset are discarded.
6. The HFN of the transmitter direction and of the receiver direction are increased by 1.
After performing such reset procedure, the transmitter and receiver both have the same HFN, and the encoding and decoding procedures are performed with this HFN.
Hereafter, the re-establishment procedure in the AM RLC entity related to the present invention will be described.
The RLC re-establishment procedure is performed upon instructions from the RRC entity. For the AM RLC entity, re-establishment may be performed for both directions (i.e., the transmitter direction and receiver direction), or only for one direction among the transmitter direction or the receiver direction. The following operations are performed according to commands of the RRC.
1. The state variables are initialized and values that can be set are then set.
2. The HFN value of the receiver direction is set according to the value instructed from a higher level.
3. The Control PDU(s) of the transmitter and receiver are deleted, and the AMD PDU(s) of the receiver are deleted.
Re-establishment in the transmitter direction of the RLC entity is performed in the following manner.
1. The state variables are initialized and values that can be set are then set.
2. The HFN value of the receiver direction is set according to the value instructed from a higher level.
3. For re-establishment only in the transmitter direction, perform procedure from step 4. For re-establishment of both the transmitter and the receiver, perform procedure from step 6.
4. The Control PDU(s) of both transmitter and receiver are all deleted, and among the SDUs in the transmitter, those SDUs that have been completely transmitted are deleted.
5. The SDU(s) not deleted in step 4 are re-segmented again according to the set RLC size. Then, step 7 is performed.
6. The Control PDU(s) of both the receiver and transmitter are deleted, and the AMD PDUs in the transmitter are deleted.
7. The timers, excluding Timer_poll_periodic and Timer_status_periodic, are stopped.
In the related art, when the RLC re-establishment procedure is performed, all Control PDU(s) are deleted even if the re-establishment is for a single direction (i.e. either the transmitting direction or the receiving direction). However, this may not be desirable in certain situations.